package com.jt.controller;



import com.jt.annotation.CacheFind;
import com.jt.pojo.ItemCat;
import com.jt.service.ItemCatService;
import com.jt.vo.EasyUITree;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController
@RequestMapping("/item/cat")
public class ItemCatController {
    @Autowired
    private ItemCatService itemCatService;
    /**
     * 业务:
     *  根据ItemId查询商品分类的名称
     * URL: http://localhost:8091/item/cat/queryItemName?itemCatId=3
     * 参数: itemCatId=3
     * 返回值: String
     */
    @RequestMapping("/queryItemName")
    public String findParentName(Long itemCatId){
        ItemCat itemCat = itemCatService.findParentName(itemCatId);
        return itemCat.getName();
    }

    /**
     * 业务:
     *  实现商品分类树形结构展现
     *  1.用户在默认条件下 如果没有展开子节点,则不会发送请求.
     *  2.当用户打开封闭的节点时,则会将改节点的ID当做参数,向后端服务器请求
     * URL: http://localhost:8091/item/cat/list
     * 参数: id=父级节点的id
     * 返回值: List<EasyUITree>
     */
    @RequestMapping("/list")
    public List<EasyUITree> listEasyUITree(Long id){
        //展示子查询一级商品的分类信息
        Long parentId = id==null?0L:id;
        //数据库记录是 list<ItemCat>对象  页面中需要的数据是List<EasyUITree>
        //需要将itemCat对象转化为EasyUITree对象  get/set...
        return itemCatService.findItemCatList(parentId);
        //return itemCatService.findItemCatCache(parentId);
    }


}
